diff --git a/system/core/Exceptions.php b/system/core/Exceptions.php
index 5bcb7c1..cb4bc3c 100644
--- a/system/core/Exceptions.php
+++ b/system/core/Exceptions.php
@@ -45,7 +45,7 @@
 	public $ob_level;
 
 	/**
-	 * List if available error levels
+	 * List of available error levels
 	 *
 	 * @var	array
 	 */
diff --git a/system/core/Output.php b/system/core/Output.php
index df9ef07..238d223 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -243,7 +243,7 @@
 		}
 
 		$header = 'Content-Type: '.$mime_type
-			.(empty($charset) ? NULL : '; charset='.$charset);
+			.(empty($charset) ? '' : '; charset='.$charset);
 
 		$this->headers[] = array($header, TRUE);
 		return $this;
diff --git a/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php b/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php
index 7758a85..9b0725e 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php
@@ -2,7 +2,7 @@
 /**
  * CodeIgniter
  *
- * An open source application development framework for PHP 5.1.6 or newer
+ * An open source application development framework for PHP 5.2.4 or newer
  *
  * NOTICE OF LICENSE
  *
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 1251974..edf0a49 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -278,7 +278,7 @@
 
       -  Library changed to :doc:`Driver <general/drivers>` with classic 'cookie' driver as the default.
       -  Added a 'native' PHP Session driver to work with ``$_SESSION``.
-      -  Added a new **tempdata** feature that allows setting userdata items with expiration time (``tempdata()``, ``set_tempdata()``, ``unset_tempdata()``). 
+      -  Added a new **tempdata** feature that allows setting userdata items with expiration time (``tempdata()``, ``set_tempdata()``, ``unset_tempdata()``).
       -  Added default ``$config['sess_driver']`` and ``$config['sess_valid_drivers']`` items to *application/config.php* file.
       -  Changed 'cookie' driver to respect php.ini's *session.gc_probability* and *session.gc_divisor* settings.
       -  Changed 'cookie' driver to use HMAC authentication instead of a simple md5 checksum.
@@ -507,7 +507,7 @@
    -  :doc:`Language Library <libraries/language>` changes include:
 
       -  Changed method ``load()`` to filter the language name with ``ctype_alpha()``.
-      -  Added an optional second parameter to method ``line()`` to disable error login for line keys that were not found.
+      -  Added an optional second parameter to method ``line()`` to disable error logging for line keys that were not found.
       -  Language files are now loaded in a cascading style with the one in **system/** always loaded and overriden afterwards, if another one is found.
 
    -  :doc:`Hooks Library <general/hooks>` changes include:
